function parse(obj){
  let value
  try{
    value = JSON.parse(obj)
  }catch{
    value = null
  }
  return value
}

function stringify(obj){
  let value
  try{
    value = JSON.stringify(obj)
  }catch{
    value = null
  }
  return value
}

export default function useLocalStorage(){
  function setItem(key,value){
    value = stringify(value)
    window.localStorage.setItem(key,value)
  }

  function getItem(key){
    let value = window.localStorage.getItem(key)
    if(value){
      value = parse(value)
    }
    return value
  }

  return {
    setItem,
    getItem
  }
}